As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
An information handling system may include a storage system or storage network that includes some measure of fault tolerant data storage. One example of a fault tolerant data storage system is a RAID (Redundant Array of Inexpensive Disks) storage system. RAID storage systems combine multiple disks into an array of disk drives to obtain performance, capacity, and reliability advantages over other storage techniques, including, for example, a single large drive. RAID Level 5 is an example of fault tolerant data storage system. A RAID Level 5 storage system is characterized by the striping of data across disks in the storage system. A set of parity bits generated by an exclusive-OR of the data bits is stored on a disk that is separate from the striped data. The parity bits for the respective stripes of data are distributed in the disks of the storage system so that each disk will likely contain both data bits for a stripe of data and parity bits related to some other stripe of data. In a RAID Level 5 storage system, it is typical that no single disk includes all of the parity bits. RAID Level 5 is often referred to as a rotating parity storage.
In a RAID Level 5 storage system, if one of the disks fails, the data on the disk can be rebuilt. The rebuild of the failed or degraded volume is accomplished by performing an exclusive-OR operation with the data on the other disks in the data stripe, including the parity bits associated with the data stripe. The rebuild of a degraded volume is often a tedious process, occurring one data row or data stripe at a time. In the case of a RAID Level 5 storage system having three disks, which is the minimum for a RAID Level 5 storage system, the rebuild of a single stripe of data involves two reads —one read from each non-degraded volume—and a write of data to the degraded volume. For a Level 5 RAID array having N number of drives, the rebuild of a degraded volume will require N−1 reads and a write to the degraded volume. Assuming that a typical stripe of data is 64 KB in size, the rebuild of a degraded volume is a time-consuming process, especially for those Level 5 RAID arrays having multiple drives and a large volume of data storage per drive.